import pytest
import os
from SelfStudy.FrameWork.ApiIhrmpytest.config import BASE_DIR
from SelfStudy.FrameWork.ApiIhrmpytest.common.send_mail_util import  EmailServe

# 通过fixture来存储全局变量
shared_data = {}

@pytest.fixture(scope="session")
def store():
    return shared_data



def pytest_sessionfinish(session, exitstatus):
    """
    pytest 测试全部执行完成后自动调用（仅发送邮件，不统计测试结果）
    """
    # # 设置压缩后的 zip 保存路径
    # zip_path = os.path.join(BASE_DIR, "report_zip", "report.zip")
    #
    # # 邮件设置
    # setting = {
    #     'user': '18676219827@163.com',
    #     'password': 'ZMYncYzNnnqHskHV',  # 授权码
    #     'host': 'smtp.163.com',
    #     'addressees': ['2486049424@qq.com'],
    #     'title': '人力资源管理项目测试报告',
    #     'enclosures': zip_path  # 压缩包路径作为附件
    # }
    #
    # # 需要压缩的报告目录
    # report_dir = os.path.join(BASE_DIR, "report")
    # project_name = "人力资源管理系统"
    #
    # # 发送邮件（不传递 test_results）
    # EmailServe.send_email(setting, report_dir, project_name, None)  # 如果不需要统计，可以传 None 或空字典

    # 设置压缩后的 zip 保存路径
    zip_path = os.path.join(BASE_DIR, "report_zip", "report.zip")

    # 邮件设置
    setting = {
        'user': '18676219827@163.com',
        'password': 'ZMYncYzNnnqHskHV',  # 授权码
        'host': 'smtp.163.com',
        'addressees': ['2486049424@qq.com'],
        'title': '人力资源管理项目测试报告',
        'enclosures': zip_path  # 压缩包路径作为附件
    }

    # 需要压缩的报告目录
    report_dir = os.path.join(BASE_DIR, "report")
    result_data_test = '请查收附件中的测试报告'

    EmailServe.send_email(setting, report_dir, result_data_test)
